home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
man
/
cat.n
/
history.n
< prev
next >
Wrap
Text File
|
1995-07-25
|
12KB
|
196 lines
hhhhiiiissssttttoooorrrryyyy((((nnnn)))) TTTTccccllll (((( )))) hhhhiiiissssttttoooorrrryyyy((((nnnn))))
_________________________________________________________________
NNNNAAAAMMMMEEEE
history - Manipulate the history list
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
hhhhiiiissssttttoooorrrryyyy ?_o_p_t_i_o_n? ?_a_r_g _a_r_g ...?
_________________________________________________________________
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
The hhhhiiiissssttttoooorrrryyyy command performs one of several operations
related to recently-executed commands recorded in a history
list. Each of these recorded commands is referred to as an
``event''. When specifying an event to the hhhhiiiissssttttoooorrrryyyy command,
the following forms may be used:
[1] A number: if positive, it refers to the event with
that number (all events are numbered starting at 1).
If the number is negative, it selects an event relative
to the current event (----1111 refers to the previous event,
----2222 to the one before that, and so on).
[2] A string: selects the most recent event that matches
the string. An event is considered to match the string
either if the string is the same as the first
characters of the event, or if the string matches the
event in the sense of the ssssttttrrrriiiinnnngggg mmmmaaaattttcccchhhh command.
The hhhhiiiissssttttoooorrrryyyy command can take any of the following forms:
hhhhiiiissssttttoooorrrryyyy
Same as hhhhiiiissssttttoooorrrryyyy iiiinnnnffffoooo, described below.
hhhhiiiissssttttoooorrrryyyy aaaadddddddd _c_o_m_m_a_n_d ?eeeexxxxeeeecccc?
Adds the _c_o_m_m_a_n_d argument to the history list as a new
event. If eeeexxxxeeeecccc is specified (or abbreviated) then the
command is also executed and its result is returned.
If eeeexxxxeeeecccc isn't specified then an empty string is
returned as result.
hhhhiiiissssttttoooorrrryyyy cccchhhhaaaannnnggggeeee _n_e_w_V_a_l_u_e ?_e_v_e_n_t?
Replaces the value recorded for an event with _n_e_w_V_a_l_u_e.
_E_v_e_n_t specifies the event to replace, and defaults to
the _c_u_r_r_e_n_t event (not event ----1111). This command is
intended for use in commands that implement new forms
of history substitution and wish to replace the current
event (which invokes the substitution) with the command
created through substitution. The return value is an
empty string.
hhhhiiiissssttttoooorrrryyyy eeeevvvveeeennnntttt ?_e_v_e_n_t?
Page 1 (printed 7/17/95)
hhhhiiiissssttttoooorrrryyyy((((nnnn)))) TTTTccccllll (((( )))) hhhhiiiissssttttoooorrrryyyy((((nnnn))))
Returns the value of the event given by _e_v_e_n_t. _E_v_e_n_t
defaults to ----1111. This command causes history revision
to occur: see below for details.
hhhhiiiissssttttoooorrrryyyy iiiinnnnffffoooo ?_c_o_u_n_t?
Returns a formatted string (intended for humans to
read) giving the event number and contents for each of
the events in the history list except the current
event. If _c_o_u_n_t is specified then only the most recent
_c_o_u_n_t events are returned.
hhhhiiiissssttttoooorrrryyyy kkkkeeeeeeeepppp _c_o_u_n_t
This command may be used to change the size of the
history list to _c_o_u_n_t events. Initially, 20 events are
retained in the history list. This command returns an
empty string.
hhhhiiiissssttttoooorrrryyyy nnnneeeexxxxttttiiiidddd
Returns the number of the next event to be recorded in
the history list. It is useful for things like
printing the event number in command-line prompts.
hhhhiiiissssttttoooorrrryyyy rrrreeeeddddoooo ?_e_v_e_n_t?
Re-executes the command indicated by _e_v_e_n_t and return
its result. _E_v_e_n_t defaults to ----1111. This command
results in history revision: see below for details.
hhhhiiiissssttttoooorrrryyyy ssssuuuubbbbssssttttiiiittttuuuutttteeee _o_l_d _n_e_w ?_e_v_e_n_t?
Retrieves the command given by _e_v_e_n_t (----1111 by default),
replace any occurrences of _o_l_d by _n_e_w in the command
(only simple character equality is supported; no wild
cards), execute the resulting command, and return the
result of that execution. This command results in
history revision: see below for details.
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss _s_e_l_e_c_t_o_r ?_e_v_e_n_t?
Retrieves from the command given by _e_v_e_n_t (----1111 by
default) the words given by _s_e_l_e_c_t_o_r, and return those
words in a string separated by spaces. The sssseeeelllleeeeccccttttoooorrrr
argument has three forms. If it is a single number
then it selects the word given by that number (0000 for
the command name, 1111 for its first argument, and so on).
If it consists of two numbers separated by a dash, then
it selects all the arguments between those two.
Otherwise sssseeeelllleeeeccccttttoooorrrr is treated as a pattern; all words
matching that pattern (in the sense of ssssttttrrrriiiinnnngggg mmmmaaaattttcccchhhh)
are returned. In the numeric forms $$$$ may be used to
select the last word of a command. For example,
suppose the most recent command in the history list is
ffffoooorrrrmmmmaaaatttt {{{{%%%%ssss iiiissss %%%%dddd yyyyeeeeaaaarrrrssss oooolllldddd}}}} AAAAlllliiiicccceeee [[[[eeeexxxxpppprrrr $$$$aaaaggggeeeeIIIInnnnMMMMoooonnnntttthhhhssss////11112222]]]]
Below are some history commands and the results they
Page 2 (printed 7/17/95)
hhhhiiiissssttttoooorrrryyyy((((nnnn)))) TTTTccccllll (((( )))) hhhhiiiissssttttoooorrrryyyy((((nnnn))))
would produce:
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss $$$$ [[[[eeeexxxxpppprrrr $$$$aaaaggggeeeeIIIInnnnMMMMoooonnnntttthhhhssss////11112222]]]]
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss 1111----2222{{{{%%%%ssss iiiissss %%%%dddd yyyyeeeeaaaarrrrssss oooolllldddd}}}} AAAAlllliiiicccceeee
hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss ****aaaa****oooo****{{{{%%%%ssss iiiissss %%%%dddd yyyyeeeeaaaarrrrssss oooolllldddd}}}} [[[[eeeexxxxpppprrrr $$$$aaaaggggeeeeIIIInnnnMMMMoooonnnntttthhhhssss////11112222]]]]
HHHHiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss results in history revision: see below
for details.
HHHHIIIISSSSTTTTOOOORRRRYYYY RRRREEEEVVVVIIIISSSSIIIIOOOONNNN
The history options eeeevvvveeeennnntttt, rrrreeeeddddoooo, ssssuuuubbbbssssttttiiiittttuuuutttteeee, and wwwwoooorrrrddddssss
result in ``history revision''. When one of these options
is invoked then the current event is modified to eliminate
the history command and replace it with the result of the
history command. For example, suppose that the most recent
command in the history list is
sssseeeetttt aaaa [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
and suppose that the next command invoked is one of the ones
on the left side of the table below. The command actually
recorded in the history event will be the corresponding one
on the right side of the table.
hhhhiiiissssttttoooorrrryyyy rrrreeeeddddoooo sssseeeetttt aaaa [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
hhhhiiiissssttttoooorrrryyyy ssss aaaa bbbb sssseeeetttt bbbb [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
sssseeeetttt cccc [[[[hhhhiiiissssttttoooorrrryyyy wwww 2222]]]]sssseeeetttt cccc [[[[eeeexxxxpppprrrr $$$$bbbb++++2222]]]]
History revision is needed because event specifiers like ----1111
are only valid at a particular time: once more events have
been added to the history list a different event specifier
would be needed. History revision occurs even when hhhhiiiissssttttoooorrrryyyy
is invoked indirectly from the current event (e.g. a user
types a command that invokes a Tcl procedure that invokes
hhhhiiiissssttttoooorrrryyyy): the top-level command whose execution eventually
resulted in a hhhhiiiissssttttoooorrrryyyy command is replaced. If you wish to
invoke commands like hhhhiiiissssttttoooorrrryyyy wwwwoooorrrrddddssss without history revision,
you can use hhhhiiiissssttttoooorrrryyyy eeeevvvveeeennnntttt to save the current history event
and then use hhhhiiiissssttttoooorrrryyyy cccchhhhaaaannnnggggeeee to restore it later.
KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
event, history, record, revision
Page 3 (printed 7/17/95)